――――――――――――――――――――――――――――――――――――――――――――――――――
Touhou Community Reliant Automatic Patcher logfile
Branch: stable
Version: 2021-01-17
Build time: Jan 17 2021 21:49:31
Built by: brliron
Command line: "D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\th095.exe"
――――――――――――――――――――――――――――――――――――――――――――――――――

Run configuration file: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\config\thpatch-en.js

EXE file name: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\th095.exe
(JSON) Resolving versions.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/versions.js
  + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tasofro/versions.js
Hashing executable... → th095 v1.02a (original) (codepage 0)
(JSON) Resolving configuration for th095.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/global.js
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/th095.js
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/th095.v1.02a.js
  + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tasofro/global.js
   + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/global.js
breakpoint ruby_offset: no cavesize specified
Game directory: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet
Plug-in directory: D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap

Initializing plug-ins...
(JSON) Resolving stringdefs.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/stringdefs.js
   + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/stringdefs.js
     + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/stringdefs.js
(JSON) Resolving th095/stringlocs.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/th095/stringlocs.v1.02a.js
(Font) Loading Aroania.ttf (426296 bytes)...
(Font) Loading Cirno.ttf (28952 bytes)...
(Font) Loading THBiolinum.otf (557212 bytes)...
[Plugin] thcrap_tasofro.dll: not used for this game
[Plugin] thcrap_tsa.dll: initialized and active
(JSON) Resolving th095/help.js... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/help.js
(JSON) Resolving th095/missions.js... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/missions.js
(JSON) Resolving th095/loops.js... not found
(JSON) Resolving themes.js... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/themes.js
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/themes.js
(JSON) Resolving th095/musiccmt.js... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/musiccmt.js
(JSON) Resolving th095/spells.js... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/spells.js
(JSON) Resolving th095/spellcomments.js... not found
Applying thcrap detours to D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\th095.exe...
Detouring DLL functions (dinput8.dll)...
( 1/ 1) DirectInput8Create... OK
Detouring DLL functions (dsound.dll)...
( 1/ 3) DirectSoundCaptureEnumerateA... not found
( 2/ 3) DirectSoundEnumerateA... not found
( 3/ 3) DirectSoundCreate8... OK
Detouring DLL functions (d3d8.dll)...
( 1/ 1) Direct3DCreate8... OK
Detouring DLL functions (winmm.dll)...
( 1/ 1) joyGetPosEx... OK
Detouring DLL functions (kernel32.dll)...
( 1/41) CopyFileA... not found
( 2/41) CopyFileExA... not found
( 3/41) CreateDirectoryA... OK
( 4/41) CreateFileA... OK
( 5/41) CreateFileMappingA... not found
( 6/41) CreateProcessA... not found
( 7/41) DeleteFileA... OK
( 8/41) FindFirstFileA... OK
( 9/41) FindNextFileA... OK
(10/41) FormatMessageA... OK
(11/41) GetCurrentDirectoryA... OK
(12/41) GetEnvironmentVariableA... not found
(13/41) GetFileAttributesA... not found
(14/41) GetFileAttributesExA... not found
(15/41) GetFullPathNameA... not found
(16/41) GetCommandLineA... OK
(17/41) GetModuleFileNameA... OK
(18/41) GetPrivateProfileIntA... not found
(19/41) GetPrivateProfileStringA... not found
(20/41) GetStartupInfoA... OK
(21/41) GetTempPathA... not found
(22/41) IsDBCSLeadByte... not found
(23/41) LoadLibraryA... OK
(24/41) MoveFileA... not found
(25/41) MoveFileExA... not found
(26/41) MoveFileWithProgressA... not found
(27/41) MultiByteToWideChar... OK
(28/41) OpenFileMappingA... not found
(29/41) ReadFile... OK
(30/41) RemoveDirectoryA... not found
(31/41) SetCurrentDirectoryA... OK
(32/41) SetEnvironmentVariableA... OK
(33/41) WideCharToMultiByte... OK
(34/41) WriteFile... OK
(35/41) WritePrivateProfileStringA... not found
(36/41) ExitProcess... OK
(37/41) CreateProcessW... not found
(38/41) CreateRemoteThread... not found
(39/41) LoadLibraryW... not found
(40/41) CloseHandle... OK
(41/41) SetFilePointer... OK
Detouring DLL functions (user32.dll)...
( 1/22) CharNextA... not found
( 2/22) CreateDialogParamA... not found
( 3/22) CreateWindowExA... OK
( 4/22) DefWindowProcA... OK
( 5/22) DialogBoxParamA... not found
( 6/22) DrawTextA... not found
( 7/22) GetClassInfoA... not found
( 8/22) GetClassInfoExA... not found
( 9/22) GetWindowLongA... OK
(10/22) GetWindowLongPtrA... not found
(11/22) InsertMenuItemA... not found
(12/22) LoadStringA... not found
(13/22) MessageBoxA... OK
(14/22) RegisterClassA... OK
(15/22) RegisterClassExA... not found
(16/22) SetDlgItemTextA... not found
(17/22) SetWindowLongA... not found
(18/22) SetWindowLongPtrA... not found
(19/22) SetWindowTextA... not found
(20/22) TabbedTextOutA... not found
(21/22) UnregisterClassA... not found
(22/22) GetWindowRect... not found
Detouring DLL functions (gdi32.dll)...
( 1/14) CreateFontA... OK
( 2/14) CreateFontIndirectA... not found
( 3/14) CreateFontIndirectExA... not found
( 4/14) EnumFontsA... not found
( 5/14) EnumFontFamiliesA... not found
( 6/14) EnumFontFamiliesExA... not found
( 7/14) ExtTextOutA... not found
( 8/14) GetGlyphOutlineA... not found
( 9/14) GetTextExtentPoint32A... not found
(10/14) TextOutA... OK
(11/14) CreateCompatibleDC... OK
(12/14) DeleteDC... OK
(13/14) DeleteObject... OK
(14/14) SelectObject... OK
Applying binary hacks...
------------------------
( 1/18) 0x00443E0F Spell card alignment (in-game) (spell_align)... OK
( 2/18) 0x00443D07 Safe sprintf (ebp-88) (sprintf_call_ebp-88)... OK
( 3/18) 0x00443D37 Safe sprintf (replace) (sprintf_rep)... OK
( 4/18) 0x004283BB Safe sprintf (replace) (sprintf_rep)... OK
( 5/18) 0x0042A800 Safe sprintf (replace) (sprintf_rep)... OK
( 6/18) 0x00450CB9 Safe sprintf (replace) (sprintf_rep)... OK
( 7/18) 0x00428BCE Center-align help string #1 (help_align_1)... OK
( 8/18) 0x00428C30 Center-align help string #2 (help_align_2)... OK
( 9/18) 0x004515F0 Prepare Music Room comment parameter fetching (music_cmt_prepare)... OK
(10/18) 0x00443EF7 Fix buffer overflow in in-game spell name rendering (replace pointer) (overflow_spell_ingame_rep)... OK
(11/18) 0x0044406B Fix buffer overflow in menu spell name rendering (replace pointer) (overflow_spell_menu_rep)... OK
(12/18) 0x00443FB0 Spell card alignment (menu) (spell_align_menu)... OK
(13/18) 0x0041C7F3 Reset English patch small font size (unpatch_font_small)... OK
(14/18) 0x00443DED Reset English patch spell scaling thingy (unpatch_spell_scale)... OK
(15/18) 0x00443F97 Reset English patch spell scaling thingy (unpatch_spell_scale)... OK
(16/18) 0x0042839F sprintf_replay_1...OK
(17/18) 0x0042A7F1 sprintf_replay_1...OK
(18/18) 0x00450CAA sprintf_replay_2...OK
------------------------
Setting up breakpoints... (source cave at 0x03650000, call cave at 0x03660000)
-------------------------
( 1/12) 0x0041AA5E file_load... fixing rel.addr. 0x0003A68D to 0xFCE050EB... OK
( 2/12) 0x004552BA file_loaded... OK
( 3/12) 0x0041A9FE file_size... OK
( 4/12) 0x00428BAB gentext#help_id... OK
( 5/12) 0x00428BB0 gentext#help_line_1... OK
( 6/12) 0x00428C12 gentext#help_line_2... OK
( 7/12) 0x0044D020 mission... OK
( 8/12) 0x00451607 music_cmt... OK
( 9/12) 0x0045149F music_title... OK
(10/12) 0x0045148F music_title#track... OK
(11/12) 0x00408715 spell_name... OK
(12/12) 0x00448556 spell_name#menu... OK
-------------------------
---------------------------
Complete run configuration:
---------------------------
  console: false
  thcrap dir: 'D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap'
  runcfg fn: 'D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\thcrap\config\thpatch-en.js'
  game id: 'th095'
  build id: 'v1.02a'
  game title: '東方文花帖　～ Shoot the Bullet'
  update URL: 'http://kourindou.exblog.jp/2461295/'
  latest: 'v1.02a'
  dat_dump: ''
---------------------------
Patch stack:
---------------------------
Patches in the stack: base_tsa, script_latin, western_name_order, lang_en
[1] base_tsa:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/
  title: Basic support for Team Shanghai Alice games
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/base_tsa/'
[2] script_latin:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/
  title: Shared data for languages using Latin script
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/script_latin/'
[3] western_name_order:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/western_name_order/
  title: Western name order
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/western_name_order/'
[4] lang_en:
  archive: D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/
  title: English language pack
  ignore: false
  update: true
  servers: 'https://srv.thpatch.net/lang_en/'

---------------------------
Run configuration JSON:
---------------------------
{
  "binhacks": {
    "antitamper_remove_check": {
      "code": "33c0 c3",
      "title": "Don't quit the game on an invalid anti-tampering checksum"
    },
    "ending_copy_rem": {
      "title": "Remove the useless string copy and buffer overflow in ending messages, #1 (remember line start and skip to the end of the string)"
    },
    "ending_copy_rep": {
      "code": "8b",
      "title": "Remove the useless string copy and buffer overflow in ending messages, #2 (LEA → MOV)"
    },
    "hud_force_redraw": {
      "code": "eb",
      "title": "Redraw the HUD every frame, because we might be drawing TL notes there"
    },
    "log_restore": {
      "code": "e9[log_printf]",
      "title": "Restore the game's built-in logging"
    },
    "meiryo_strcmp_remove": {
      "code": "9090",
      "title": "Don't restrict use of the Meiryo font to Japanese locale"
    },
    "menu_desc_align": {
      "code": "52 ff75ac ff75b0 e8[GetTextExtentForFontID] 8d440010 50 db04e4 58 59 89ca 90909090",
      "title": "Menu description alignment"
    },
    "result_spell_align": {
      "code": "31c0",
      "title": "Remove spell \"alignment\" in the result screen"
    },
    "spell_align": {
      "code": "8b550c8b8244020000d94034d84838d840088b5d18ff35b0444c0053e8[GetTextExtentForFont]83c00450db04e458e996000000909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090",
      "title": "Spell card alignment (in-game)",
      "addr": "0x443e0f"
    },
    "spell_name_fetch": {
      "code": "8b4d0c5131c9515151",
      "title": "Prepare deferred spell name fetching"
    },
    "sprintf_call_ebp-200": {
      "code": "5090909090909090909090e8[strings_vsprintf]8b4d0c83c40c509090",
      "title": "Safe sprintf (ebp-200)"
    },
    "sprintf_call_ebp-208": {
      "code": "5190909090909090909090e8[strings_vsprintf]83c40c509090",
      "title": "Safe sprintf (ebp-208)"
    },
    "sprintf_call_ebp-50": {
      "code": "50e8[strings_vsprintf]8945b0",
      "title": "Safe sprintf (ebp-50)"
    },
    "sprintf_call_ebp-88": {
      "code": "50e8[strings_vsprintf]898578ffffff",
      "title": "Safe sprintf (ebp-88)",
      "addr": "Rx43d07"
    },
    "sprintf_call_ebp-8c": {
      "code": "50e8[strings_vsprintf]898574ffffff",
      "title": "Safe sprintf (ebp-8c)"
    },
    "sprintf_call_esp+14": {
      "code": "50e8[strings_vsprintf]8944e414",
      "title": "Safe sprintf (esp+14)"
    },
    "sprintf_call_esp+18": {
      "code": "50e8[strings_vsprintf]8944e418",
      "title": "Safe sprintf (esp+18)"
    },
    "sprintf_call_esp+1c": {
      "code": "50e8[strings_vsprintf]8944e41c",
      "title": "Safe sprintf (esp+1c)"
    },
    "sprintf_call_esp+34": {
      "code": "50e8[strings_vsprintf]8944e434",
      "title": "Safe sprintf (esp+34)"
    },
    "sprintf_call_esp+38": {
      "code": "e8[strings_vsprintf]89442434",
      "title": "Safe sprintf (esp+34)"
    },
    "sprintf_call_esp+3c": {
      "code": "50e8[strings_vsprintf]8944e43c",
      "title": "Safe sprintf (esp+3c)"
    },
    "sprintf_msvcrt14_ebp-10c": {
      "code": "e8[strings_vsprintf_msvcrt14]8985f4feffff",
      "title": "Safe Visual Studio 2015-style sprintf (ebp-10c)"
    },
    "sprintf_msvcrt14_esp+34": {
      "code": "e8[strings_vsprintf_msvcrt14]89442434",
      "title": "Safe Visual Studio 2015-style sprintf (esp+34)"
    },
    "sprintf_msvcrt14_esp+3c": {
      "code": "e8[strings_vsprintf_msvcrt14]8944243c",
      "title": "Safe Visual Studio 2015-style sprintf (esp+3c)"
    },
    "sprintf_rep": {
      "code": "8b",
      "title": "Safe sprintf (replace)",
      "addr": [
        "Rx43d37",
        "Rx283bb",
        "Rx2a800",
        "Rx50cb9"
      ]
    },
    "sprintf_replay_use_ecx_2": {
      "code": "e8[strings_sprintf] 83c4 0c 89c1 9090"
    },
    "sprintf_replay_use_ecx_5": {
      "code": "e8[strings_sprintf] 83c4 0c 89c1 9090909090"
    },
    "help_align_1": {
      "title": "Center-align help string #1",
      "addr": "Rx28bce",
      "code": "e8 adb30100"
    },
    "help_align_2": {
      "title": "Center-align help string #2",
      "addr": "Rx28c30",
      "code": "e8 4bb30100"
    },
    "music_cmt_prepare": {
      "code": "89c1c1e1098d940a002000008b4ddcc1e10601ca8b4ddc5290909090909090",
      "title": "Prepare Music Room comment parameter fetching",
      "addr": "0x4515f0"
    },
    "overflow_spell_ingame_rep": {
      "code": "53909090909090",
      "title": "Fix buffer overflow in in-game spell name rendering (replace pointer)",
      "addr": "0x443ef7"
    },
    "overflow_spell_menu_rep": {
      "code": "8b5518",
      "title": "Fix buffer overflow in menu spell name rendering (replace pointer)",
      "addr": "0x44406b"
    },
    "spell_align_menu": {
      "code": "8b550c8b8244020000d94034d84838d83538534900d84008ff35b0444c00ff7518e8[GetTextExtentForFont]d1e850db04e458eb689090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090",
      "title": "Spell card alignment (menu)",
      "addr": "0x443fb0"
    },
    "unpatch_font_small": {
      "code": "6a006a1e",
      "title": "Reset English patch small font size",
      "addr": "0x41c7f3"
    },
    "unpatch_spell_scale": {
      "code": "0f",
      "title": "Reset English patch spell scaling thingy",
      "addr": [
        "0x443ded",
        "0x443f97"
      ]
    },
    "sprintf_replay_1": {
      "addr": [
        "Rx2839f",
        "Rx2a7f1"
      ],
      "code": "54 e8[strings_sprintf] 8985 00ffffff"
    },
    "sprintf_replay_2": {
      "addr": "Rx50caa",
      "code": "54 e8[strings_sprintf] 8985 b0fdffff"
    },
    "ret": {
      "code": "c3",
      "title": "Returns from a function"
    },
    "font_dialog_params": {
      "code": "6a036a006a0068000000006a006a006a006890010000",
      "title": "Set parameters for alternate dialog font"
    },
    "font_dialog_set": {
      "code": "6a019090",
      "title": "Use alternate dialog font"
    },
    "meiryo_disable": {
      "code": "83c414 909090",
      "title": "Disable the enumeration of Meiryo for compatibility to existing font settings"
    }
  },
  "breakpoints": {
    "ascii_params": {
      "cavesize": 5
    },
    "ruby_offset": {
      "font_dialog": 0,
      "font_ruby": 2
    },
    "file_load": {
      "cavesize": "5",
      "file_buffer": "edx",
      "stack_clear_size": "8",
      "addr": "0x41aa5e"
    },
    "file_loaded": {
      "cavesize": "6",
      "addr": "0x4552ba"
    },
    "file_size": {
      "cavesize": 7,
      "file_name": "[ebp-8]",
      "file_size": "eax",
      "addr": "0x41a9fe"
    },
    "gentext#help_id": {
      "cavesize": 5,
      "file": "help.js",
      "ids": "edx",
      "addr": "Rx28bab"
    },
    "gentext#help_line_1": {
      "cavesize": 6,
      "str": "eax",
      "addr": "Rx28bb0"
    },
    "gentext#help_line_2": {
      "cavesize": 6,
      "str": "edx",
      "addr": "Rx28c12"
    },
    "mission": {
      "cavesize": 6,
      "line": 8,
      "ret_fixup": 16,
      "scene": 16,
      "stage": 12,
      "addr": "0x44D020"
    },
    "music_cmt": {
      "cavesize": "5",
      "format_id": "Music Room Note Title",
      "line_num": "ecx",
      "str": "edx",
      "track": "eax",
      "addr": "0x451607"
    },
    "music_title": {
      "cavesize": "8",
      "format_id": "Music Room Numbered Title",
      "str": "eax",
      "addr": "0x45149f"
    },
    "music_title#track": {
      "cavesize": "9",
      "track": "ecx",
      "addr": "0x45148f"
    },
    "spell_name": {
      "cavesize": "8",
      "spell_name": "eax",
      "addr": "0x408715",
      "spell_id": "[[Rxca2f0]]"
    },
    "spell_name#menu": {
      "cavesize": "8",
      "spell_name": "edx",
      "addr": "0x448556",
      "spell_id": "[[Rxca2f0]]"
    }
  },
  "thcrap_url": "http://thpatch.net/wiki/Project:Download",
  "thcrap_version_min": "0x20170905",
  "tlnotes": {
    "font": "'MS Gothic' 32 0 400 DEFAULT_QUALITY",
    "reference_resolution": [
      1280,
      960
    ],
    "valign": "top",
    "region_size": [
      184,
      476
    ],
    "region_topleft": [
      1064,
      160
    ]
  },
  "formats": {
    "anm": "anm06"
  },
  "latest": "v1.02a",
  "title": "東方文花帖　～ Shoot the Bullet",
  "url_update": "http://kourindou.exblog.jp/2461295/",
  "font": "Touhou Biolinum",
  "fontrules": {
    "* 15 * 700": "* 21 * 100 NONANTIALIASED_QUALITY"
  },
  "game": "th095",
  "console": false,
  "dat_dump": false,
  "patches": [
    {
      "archive": "repos/nmlgc/base_tsa/"
    },
    {
      "archive": "repos/nmlgc/base_tasofro/"
    },
    {
      "archive": "repos/nmlgc/script_latin/"
    },
    {
      "archive": "repos/nmlgc/western_name_order/"
    },
    {
      "archive": "repos/thpatch/lang_en/"
    }
  ]
}---------------------------
Applying thcrap detours to D:\Games\Touhou\Official\Touhou 9.5 - Shoot the Bullet\vpatch_th095.dll...
Detouring DLL functions (kernel32.dll)...
( 1/41) CopyFileA... not found
( 2/41) CopyFileExA... not found
( 3/41) CreateDirectoryA... not found
( 4/41) CreateFileA... not found
( 5/41) CreateFileMappingA... not found
( 6/41) CreateProcessA... OK
( 7/41) DeleteFileA... not found
( 8/41) FindFirstFileA... not found
( 9/41) FindNextFileA... not found
(10/41) FormatMessageA... not found
(11/41) GetCurrentDirectoryA... not found
(12/41) GetEnvironmentVariableA... not found
(13/41) GetFileAttributesA... not found
(14/41) GetFileAttributesExA... not found
(15/41) GetFullPathNameA... not found
(16/41) GetCommandLineA... OK
(17/41) GetModuleFileNameA... OK
(18/41) GetPrivateProfileIntA... OK
(19/41) GetPrivateProfileStringA... not found
(20/41) GetStartupInfoA... OK
(21/41) GetTempPathA... not found
(22/41) IsDBCSLeadByte... not found
(23/41) LoadLibraryA... OK
(24/41) MoveFileA... not found
(25/41) MoveFileExA... not found
(26/41) MoveFileWithProgressA... not found
(27/41) MultiByteToWideChar... OK
(28/41) OpenFileMappingA... not found
(29/41) ReadFile... not found
(30/41) RemoveDirectoryA... not found
(31/41) SetCurrentDirectoryA... not found
(32/41) SetEnvironmentVariableA... not found
(33/41) WideCharToMultiByte... OK
(34/41) WriteFile... OK
(35/41) WritePrivateProfileStringA... not found
(36/41) ExitProcess... OK
(37/41) CreateProcessW... not found
(38/41) CreateRemoteThread... OK
(39/41) LoadLibraryW... not found
(40/41) CloseHandle... OK
(41/41) SetFilePointer... not found
Detouring DLL functions (user32.dll)...
( 1/22) CharNextA... not found
( 2/22) CreateDialogParamA... not found
( 3/22) CreateWindowExA... OK
( 4/22) DefWindowProcA... not found
( 5/22) DialogBoxParamA... not found
( 6/22) DrawTextA... not found
( 7/22) GetClassInfoA... not found
( 8/22) GetClassInfoExA... not found
( 9/22) GetWindowLongA... not found
(10/22) GetWindowLongPtrA... not found
(11/22) InsertMenuItemA... not found
(12/22) LoadStringA... not found
(13/22) MessageBoxA... OK
(14/22) RegisterClassA... not found
(15/22) RegisterClassExA... not found
(16/22) SetDlgItemTextA... not found
(17/22) SetWindowLongA... OK
(18/22) SetWindowLongPtrA... not found
(19/22) SetWindowTextA... not found
(20/22) TabbedTextOutA... not found
(21/22) UnregisterClassA... not found
(22/22) GetWindowRect... not found
Detouring DLL functions (winmm.dll)...
( 1/ 1) joyGetPosEx... not found
Detouring DLL functions (shlwapi.dll)...
( 1/10) PathFileExistsA... not found
( 2/10) PathFindFileNameA... not found
( 3/10) PathMatchSpecA... not found
( 4/10) PathRemoveFileSpecA... OK
( 5/10) PathAddBackslashA... OK
( 6/10) PathIsDirectoryA... not found
( 7/10) PathIsRelativeA... not found
( 8/10) PathCanonicalizeA... not found
( 9/10) PathCombineA... not found
(10/10) PathAppendA... OK
Detouring DLL functions (dinput8.dll)...
( 1/ 1) DirectInput8Create... OK
(Data) Resolving th095/th095_0102a.ver... not found
(Data) Resolving th095/th08logo.jpg... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/th08logo.jpg
(Data) Resolving th095/nowloading.anm... not found
(JSON) Resolving th095/nowloading.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/ascii/loading.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/ascii/loading.png
-------------
(Data) Resolving th095/se_plst00.wav... not found
(Data) Resolving th095/se_enep00.wav... not found
(Data) Resolving th095/se_pldead00.wav... not found
(Data) Resolving th095/se_power0.wav... not found
(Data) Resolving th095/se_power1.wav... not found
(Data) Resolving th095/se_tan00.wav... not found
CreateCompatibleDC(0x00000000) -> 0x35011FEB
(Font) Creating ('Touhou Biolinum' 30 0 400 ANTIALIASED_QUALITY)...
(Font) Creating ('Touhou Biolinum' 34 0 400 ANTIALIASED_QUALITY)...
(Font) Creating ('Touhou Biolinum' 36 0 400 ANTIALIASED_QUALITY)...
(Font) Creating ('Touhou Biolinum' 38 0 400 ANTIALIASED_QUALITY)...
(Data) Resolving th095/se_tan01.wav... not found
(Data) Resolving th095/se_tan02.wav... not found
(Data) Resolving th095/se_ok00.wav... not found
(Data) Resolving th095/se_cancel00.wav... not found
(Data) Resolving th095/se_select00.wav... not found
(Data) Resolving th095/se_gun00.wav... not found
(Data) Resolving th095/se_cat00.wav... not found
(Data) Resolving th095/se_lazer00.wav... not found
(Data) Resolving th095/se_lazer01.wav... not found
(Data) Resolving th095/se_enep01.wav... not found
(Data) Resolving th095/se_damage00.wav... not found
(Data) Resolving th095/se_item00.wav... not found
(Data) Resolving th095/se_kira00.wav... not found
(Data) Resolving th095/se_kira01.wav... not found
(Data) Resolving th095/se_kira02.wav... not found
(Data) Resolving th095/se_timeout.wav... not found
(Data) Resolving th095/se_graze.wav... not found
(Data) Resolving th095/se_powerup.wav... not found
(Data) Resolving th095/se_pause.wav... not found
(Data) Resolving th095/se_cardget.wav... not found
(Data) Resolving th095/se_option.wav... not found
(Data) Resolving th095/se_damage01.wav... not found
(Data) Resolving th095/se_timeout2.wav... not found
(Data) Resolving th095/se_invalid.wav... not found
(Data) Resolving th095/se_slash.wav... not found
(Data) Resolving th095/se_shutter.wav... not found
(Data) Resolving th095/se_ch00.wav... not found
(Data) Resolving th095/se_ch01.wav... not found
(Data) Resolving th095/se_focus.wav... not found
(Data) Resolving th095/se_nice.wav... not found
(Data) Resolving th095/se_focusin.wav... not found
(Data) Resolving th095/text.anm... 
 + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/base_tsa/th095/text.anm
(JSON) Resolving th095/text.anm.jdiff... not found
---- ANM ----
-------------
(Data) Resolving th095/ascii.anm... not found
(JSON) Resolving th095/ascii.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/ascii/ascii.png... 
  + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/nmlgc/script_latin/th095/data/ascii/ascii.png
-------------
(Data) Resolving th095/capture.anm... not found
(JSON) Resolving th095/capture.anm.jdiff... not found
---- ANM ----
-------------
(Data) Resolving th095/thbgm.fmt... not found
(JSON) Resolving th095/thbgm.fmt.jdiff... not found
(BGM) Resolving th095_00.{flac > ogg > mp3}... not found
(BGM) Resolving th095_01.{flac > ogg > mp3}... not found
(BGM) Resolving th095_02.{flac > ogg > mp3}... not found
(BGM) Resolving th095_03.{flac > ogg > mp3}... not found
(BGM) Resolving th095_04.{flac > ogg > mp3}... not found
(BGM) Resolving th09_08_2.{flac > ogg > mp3}... not found
(Data) Resolving th095/title.anm... not found
(JSON) Resolving th095/title.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/title/title01.png... not found
(PNG) Resolving th095/data/title/title02.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/title/title02.png
(PNG) Resolving th095/data/title/title04.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/title/title04.png
(PNG) Resolving th095/data/title/title00line.png... not found
(PNG) Resolving th095/data/title/title00a.png... not found
(PNG) Resolving th095/data/title/title00b.png... not found
(PNG) Resolving th095/data/title/title03a.png... not found
(PNG) Resolving th095/data/title/title03b.png... not found
(PNG) Resolving th095/data/title/title05.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/title/title05.png
(PNG) Resolving th095/data/title/title06.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/title/title06.png
-------------
(Data) Resolving th095/title_v.anm... not found
(JSON) Resolving th095/title_v.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/title/title02b.png... not found
-------------
(Data) Resolving th095/mission.msg... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/mission.msg
(Data) Resolving th095/bullet.anm... not found
(JSON) Resolving th095/bullet.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/bullet/etama.png... not found
(PNG) Resolving th095/data/bullet/etama3.png... not found
(PNG) Resolving th095/data/bullet/etama6.png... not found
(PNG) Resolving th095/data/bullet/etama2.png... not found
-------------
(Data) Resolving th095/photo.anm... not found
(JSON) Resolving th095/photo.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/bullet/photo.png... not found
(PNG) Resolving th095/data/bullet/photo2.png... not found
(PNG) Resolving th095/data/bullet/photobk.png... not found
(PNG) Resolving th095/data/title/title00line2.png... not found
-------------
(Data) Resolving th095/pause.anm... not found
(JSON) Resolving th095/pause.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/ascii/pause.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/ascii/pause.png
-------------
(Data) Resolving th095/front.anm... not found
(JSON) Resolving th095/front.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/front/frontdisp.png... 
    + D:/Games/Touhou/Official/Touhou 9.5 - Shoot the Bullet/thcrap/repos/thpatch/lang_en/th095/data/front/frontdisp.png
-------------
(Data) Resolving th095/player.anm... not found
(JSON) Resolving th095/player.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th095/data/player00/pl10.png... not found
-------------
Shutting down repatch watcher thread.
Statistics:
----
• Last error codes: 0 (queue), 0 (changes)
• Total number of file changes parsed: 0
• Maximum buffer fill state: 0/65536 bytes
----
Removing plug-ins...
